---
id: enterprise
title: Pro相关
---

import Tag from "@site/src/components/Tag.js";

## 一、说明
TouchSocketPro是TouchSocket系的加强版本。其基础功能完全包含TouchSocket，除此之外，还有一些附加功能，这需要**付费购买密钥**，然后才能使用。具体详细区别**如下表格**所示。

同时TouchSocketPro还提供**企业定制服务**及必要的**远程协助**，具体收费可以咨询作者若汝棋茗，联系方式：QQ：505554090。

## 二、TouchSocket与TouchSocketPro

### 2.1 Tcp组件
- [轮询式断线重连](./reconnection.mdx#三使用pollingkeepalive插件-Pro) <Tag>Pro</Tag>
- [TLV适配器](./tlvdatahandlingadapter.mdx) <Tag>Pro</Tag>
- 其余功能

### 2.2 NAT组件
- [转发客户端重连](./natservice.mdx#四转发断线重连-Pro) <Tag>Pro</Tag>
- 其余功能

### 2.3 UDP组件
- 所有功能

### 2.4 JsonRpc
- 自定义解析 <Tag>Pro</Tag>
- 其余功能

### 2.5 WebApi
- 所有功能

### 2.6 XmlRpc
- 所有功能

### 2.7 TouchRpc（tcp、udp、http、websocket）
- [远程文件操作](./remotefilecontrol.mdx) <Tag>Pro</Tag>
- [远程流访问](./remotestreamaccess.mdx) <Tag>Pro</Tag>
- 文件传输功能
- [多线程文件传输](./multithreadingfiletransfer.mdx) <Tag>Pro</Tag>
- [小文件传输](./smallfiletransfer.mdx)
- 文件传输限速 <Tag>Pro</Tag>
- [EventBus功能](https://www.yuque.com/rrqm/touchsocket/ipt4zr) <Tag>Pro</Tag>
- Redis

### 2.8 Http组件
- 超大文件传输
- 多通道文件续传
- 静态网页展示
- 文件传输限速

### WebSocket
- 全部功能

:::tip 提示

上述的功能中，所有带有 <Tag>Pro</Tag> 的标识，均为`TouchSocketPro`包含的内容。其余功能`TouchSocket`也均支持。

:::  

## 三、能提供的个性服务

### 3.1 数据处理适配器的重写

在TouchSocketPro中，可以通过适配器对数据进行预处理和对象解析，目前TouchSocketPro拥有的适配器仅有`固定包头`、`固定长度`、`终止分割`、`Json字符串解析`、`Http对象解析`五种适配器。但是往往这些适配器不是我们想要的，例如：串口信号、AGV数据格式等。那么我们可以为您提供解析数据格式（对象）的服务。

### 3.2 增加或限制某个功能

程序库为的是能提供基础服务，所以某个功能的出现，均是为了具备更好的普适性，但是有时候也会与您的需求背道而驰，那么我们也可以为您定制某个功能（或禁用某个功能）。

## 四、TouchSocketPro

| **类型** | **个人独立授权** | **个人企业授权** | **企业授权** |
| --- | --- | --- | --- |
| **功能** | 全部功能 | 全部功能 | 全部功能 |
| **使用期限** | 永久 | 永久 | 永久 |
| **授权归属** | 个人 | 个人 | 企业 |
| **协助服务** | 无 | 无 | 全部现有功能协助 |
| **个性化功能扩展** | 支持 | 支持 | 支持 |
| **激活方式** | 密钥激活 | 密钥激活 | 密钥激活和源码引用 |
| **后续升级** | Nuget升级 | Nuget升级 | Nuget升级或随时索要最新源码 |
| **源代码开放** | 不开放 | 不开放 | 开放 |
| **用于盈利** | 允许 | 允许 | 允许 |
| **个性化功能扩展** | 支持 | 支持 | 支持 |
| **开具发票** | 原则上不开具 | 开具 | 开具 |
| **赠品** | 送您1束玫瑰 | 送您2束玫瑰 | 送您3束玫瑰，和一个自定义适配器，或复杂度相同的个性化服务。 |
| **价格** | 298¥ |  已停售   | 998¥ |


### 4.1 个人独立授权

授权归属于购买者个人所有，规定购买者可将所购产品只能应用于所属个人的任何软件（产品）上，可以以此盈利，但必须遵守[个人使用协议](./description.mdx#qLp3q)。

### 4.2 个人企业授权

授权归属于购买者个人所有，规定购买者可将所购产品应用于购买者服务（工作）的企业的任何软件（产品）上，但授权期限与购买者服务（工作）期限一致，一旦购买者离职（或不再服务于企业），授权将在30个工作日后失效。同时，购买者在将所购产品应用于企业时，有必要告知义务，在离职（或不再服务于企业）时，也应当再次告知企业详情。

**（个人企业版在2023.1.1日后不再售卖。已售卖的个人企业版原始功能不变。或者联系作者，可免费升级至企业版）**

### 4.3 企业授权

- 当授权归属于企业所有时，永久授权。且仅企业享有授权，所有职员均无授权。
- 当授权归属个人所有时，永久授权。且保留一次企业冠名权益，现有授权自动降为“**个人企业授权**”条款。。

## 五、密钥使用

**首先请确保所有的项目完全卸载删除TouchSocket，并且在需要的项目中安装了TouchSocketPro。**

当购买密钥后，您会获得类似“D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1D1”这样的密钥。然后在程序**初始化**(例如Main函数)时。使用以下代码即可。

```csharp
 Enterprise.Default.LicenceKey = "密钥";
```

AspNetCore中使用时，建议自定义服务注入的方式实现。步骤如下：

1. 新建项目，引用`Microsoft.Extensions.DependencyInjection`和`TouchSocketPro.AspNetCore`。
2. 新建静态类**ServiceCollectionExtension**，创建IServiceCollection的扩展方法。
3. 在IServiceCollection的扩展方法中，注入密钥。
4. 在AspNetCore引用新建的项目。
5. 在服务中注入。

部分代码示例如下：

```csharp
public static class ServiceCollectionExtension
{
    public static void AddLicence(this IServiceCollection service)
    {
        Enterprise.Default.LicenceKey = "D1D1D1D1D1D1D1";
    }
}
```

```csharp
public void ConfigureServices(IServiceCollection services)
{
    services.AddLicence();
}

```

## 六、限时测试

为方便大家测试，TouchSocketPro提供**限时1小时**的测试功能，当时间结束时Pro功能关闭，**重启进程**即可再次试用1小时，以此往复。

**调用ForTest时，会抛出可控异常。如果坚持使用Pro，使用Try拦截即可。**

```csharp
try
{
    Enterprise.ForTest();
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}
```

:::tip 提示

目前TouchSocketPro在进行限定版本免费使用活动。这意味着您只要使用的是特定版本（v1.4），则享有永久免费使用的权利。使用方法如上“限时测试”一样。

:::  

## 七、购买通道

购买可通过以下方式。**购买前请先联系作者若汝棋茗**。联系QQ：505554090。

扫描下列微信码，或者点击[淘宝链接](https://item.taobao.com/item.htm?spm=a2126o.success.result.1.382c4831HDDIvA&id=691874706840)。

<img src={require('@site/static/img/docs/enterprise-1.jpg').default} width="500" />

